﻿using System;

namespace NumericalMatrix.GenericInterfaces
{
    public interface IGroupOperations<T>
    {
        Func<T, T, T> Addition 
        { get; }

        Func<T, T, T> Subtraction
        { get; }

        Func<T, T, T> Multiplication 
        { get; }

        Func<double, T, T> ScalarMultiplication
        { get; }

        Func<T, T, T> Division
        { get; }

        T NeutralElement
        { get; }

        T ZeroElement
        { get; }
    }
}
